【Security Hub修復手順】[EC2.9] EC2インスタンスはパブリックIPv4アドレスを持つべきではない
こんにちは。AWS事業本部コンサルティング部に所属している和田響です。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。
本記事の対象コントロール
[EC2.9] EC2インスタンスはパブリックIPv4アドレスを持つべきではない
[EC2.9] EC2 instances should not have a public IPv4 address
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
本コントロールは、EC2にアタッチされたパブリックIPv4アドレスの解除を求めるものです。
現在AWS環境ではEC2インスタンスにパブリックIPv4アドレスがアタッチされていなくても、NATゲートウェイやALBを使用することで通信が可能です。
そのため必要ではないパブリックIPアドレスは削除することが推奨されます。
どうしても「パブリックIP付与が必要なインスタンス」の場合は 抑制済み
にしてください。
また、2024年2月からパブリック IPv4アドレスにが課金対象になりました。
セキュリティとコストの観点から不要なパブリックIPv4アドレスは削除しましょう。
修正手順
1 対象のリソース(EC2インスタンス)を特定
まずAWS Security HubのコンソールからEC2.9のチェック結果を確認し、是正対象のEC2インスタンスを特定します。
2 ステークホルダーに確認
ステークホルダー(リソースの作成者や管理している部署などの関係者)にEC2に割り当てられたパブリックIPを削除して良いか?を確認します。
具体的には以下に当てはまらないかを確認します。
- DNSの設定でパブリックIPを指定していないか?
- アプリケーションでパブリックIPを直接指定したりしていないか?
- セキュリティグループとネットワークACLでパブリックIPを指定していないか?
まとめると「EC2にアタッチされたパブリックIPを消すことでシステムに影響がないか?」をステークホルダーに確認しましょう。
3 パブリックIPの関連付けを解除する
ここではパブリックIPv4アドレスが付与された EC2 インスタンスが、すでにパブリックサブネット上に起動している前提で進めます。
EC2のマネコンを開き、サイドバーの「ネットワークインターフェイス」をクリックします。
EC2 インスタンスと同じサブネットに、新規でネットワークインターフェイス(ENI)を作成します。(このENIはあとで不要になるため、IPアドレスは自動割り当てでOKです)
作成した ENI を対象 EC2 インスタンスにアタッチします。
対象 EC2 インスタンスにプライベートIPv4アドレスが2つ付与された状態になります。
この時点ではまだパブリックIPv4アドレスが付いていることも確認します。
続いて Elastic IP アドレスを用意し、EC2 インスタンスのプライマリ ENI に関連付けます。
(後から追加した ENI ではなく、プライマリ ENI に関連付けることに注意しましょう)
関連付けた Elastic IP アドレスを、すぐに関連付け解除します。
再度 EC2 インスタンスの設定を確認します。
すると EC2 インスタンスの再起動や停止を伴なわず、パブリックIPv4アドレスが削除されていることを確認できました!
このあとは追加でアタッチしたENIが不要になるため、デタッチします。
また必要に応じて Elastic IP アドレスの解放や、EC2 インスタンスが稼働しているのサブネットのルートテーブルを変更し、プライベートサブネットに変更するなどの対応を適宜行います。
4 サブネットの設定を確認する
サブネットの設定で「パブリック IPv4 アドレスの自動割り当てを有効化」を確認します。
もし有効化されている場合はセキュリティの観点から無効にすることを推奨します。
詳しくはこちらのブログをご覧ください。
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。